home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / C / ASAP / amigaguidecontext_.h next >
Encoding:
C/C++ Source or Header  |  2006-09-08  |  6.1 KB  |  137 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * AAmigaGuideContext wrapper class                                          *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_AAmigaGuideContext_H
  12. #define ASAP_AAmigaGuideContext_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Proto/AmigaGuide.h>
  19. }
  20.  
  21. class AAmigaGuideMsg;
  22.  
  23. class AAmigaGuideContext
  24. {
  25.  public:
  26.  inline ULONG AmigaGuideSignal();
  27.  inline void CloseAmigaGuide();
  28.  inline void operator delete(void *);
  29.  inline AAmigaGuideMsg * GetAmigaGuideMsg();
  30.  inline static AAmigaGuideContext * OpenAmigaGuide(NewAmigaGuide * nag, Tag tag1,  ...);
  31.  inline static AAmigaGuideContext * OpenAmigaGuideA(NewAmigaGuide * nag, TagItem * Parm1);
  32.  inline void * operator new(size_t, NewAmigaGuide * nag, Tag tag1, bool Async = 0);
  33.  inline static AAmigaGuideContext * OpenAmigaGuideAsync(NewAmigaGuide * nag, Tag tag1,  ...);
  34.  inline static AAmigaGuideContext * OpenAmigaGuideAsyncA(NewAmigaGuide * nag, TagItem * attrs);
  35.  inline void * operator new(size_t, NewAmigaGuide * nag, TagItem *attrs, bool Async = 0);
  36.  inline LONG SendAmigaGuideCmd(STRPTR cmd, Tag tag1,  ...);
  37.  inline LONG SendAmigaGuideCmdA(STRPTR cmd, TagItem * attrs);
  38.  inline LONG SendAmigaGuideContext(Tag tag1,  ...);
  39.  inline LONG SendAmigaGuideContextA(TagItem * attrs);
  40.  inline LONG SetAmigaGuideAttrs(Tag tag1,  ...);
  41.  inline LONG SetAmigaGuideAttrsA(TagItem * attrs);
  42.  inline LONG SetAmigaGuideContext(unsigned long id, Tag tag1,  ...);
  43.  inline LONG SetAmigaGuideContextA(unsigned long id, TagItem * attrs);
  44. };
  45. //----------------------------------------------------------------------------
  46. ULONG AAmigaGuideContext::AmigaGuideSignal ()
  47. {
  48.  return ::AmigaGuideSignal(this);
  49. }
  50. //----------------------------------------------------------------------------
  51. void AAmigaGuideContext::CloseAmigaGuide ()
  52. {
  53.  ::CloseAmigaGuide(this);
  54. }
  55. //----------------------------------------------------------------------------
  56. void AAmigaGuideContext::operator delete (void *cl)
  57. {
  58.  ((AAmigaGuideContext *) cl)->CloseAmigaGuide();
  59. }
  60. //----------------------------------------------------------------------------
  61. AAmigaGuideMsg * AAmigaGuideContext::GetAmigaGuideMsg ()
  62. {
  63.  return (AAmigaGuideMsg *) ::GetAmigaGuideMsg(this);
  64. }
  65. //----------------------------------------------------------------------------
  66. AAmigaGuideContext * AAmigaGuideContext::OpenAmigaGuide (NewAmigaGuide * nag, Tag tag1,  ...)
  67. {
  68.  return (AAmigaGuideContext *) ::OpenAmigaGuideA(nag, (TagItem *) &tag1);
  69. }
  70. //----------------------------------------------------------------------------
  71. AAmigaGuideContext * AAmigaGuideContext::OpenAmigaGuideA (NewAmigaGuide * nag, TagItem * Parm1)
  72. {
  73.  return (AAmigaGuideContext *) ::OpenAmigaGuideA(nag, Parm1);
  74. }
  75. //----------------------------------------------------------------------------
  76. void * AAmigaGuideContext::operator new(size_t, NewAmigaGuide * nag, Tag tag1, bool Async)
  77. {
  78.  return Async? AAmigaGuideContext::OpenAmigaGuideAsyncA(nag, (TagItem *) &tag1) : AAmigaGuideContext::OpenAmigaGuideA(nag, (TagItem *) &tag1);
  79. }
  80. //----------------------------------------------------------------------------
  81. AAmigaGuideContext * AAmigaGuideContext::OpenAmigaGuideAsync (NewAmigaGuide * nag, Tag tag1,  ...)
  82. {
  83.  return (AAmigaGuideContext *) ::OpenAmigaGuideAsyncA(nag, (TagItem *) &tag1);
  84. }
  85. //----------------------------------------------------------------------------
  86. AAmigaGuideContext * AAmigaGuideContext::OpenAmigaGuideAsyncA (NewAmigaGuide * nag, TagItem * attrs)
  87. {
  88.  return (AAmigaGuideContext *) ::OpenAmigaGuideAsyncA(nag, attrs);
  89. }
  90. //----------------------------------------------------------------------------
  91. void * AAmigaGuideContext::operator new(size_t, NewAmigaGuide * nag, TagItem *attrs, bool Async)
  92. {
  93.  return Async? AAmigaGuideContext::OpenAmigaGuideAsyncA(nag, attrs) : AAmigaGuideContext::OpenAmigaGuideA(nag, attrs);
  94. }
  95. //----------------------------------------------------------------------------
  96. LONG AAmigaGuideContext::SendAmigaGuideCmd (STRPTR cmd, Tag tag1,  ...)
  97. {
  98.  return AAmigaGuideContext::SendAmigaGuideCmdA(cmd, (TagItem *) &tag1);
  99. }
  100. //----------------------------------------------------------------------------
  101. LONG AAmigaGuideContext::SendAmigaGuideCmdA (STRPTR cmd, TagItem * attrs)
  102. {
  103.  return ::SendAmigaGuideCmdA(this, cmd, attrs);
  104. }
  105. //----------------------------------------------------------------------------
  106. LONG AAmigaGuideContext::SendAmigaGuideContext (Tag tag1,  ...)
  107. {
  108.  return AAmigaGuideContext::SendAmigaGuideContextA((TagItem *) &tag1);
  109. }
  110. //----------------------------------------------------------------------------
  111. LONG AAmigaGuideContext::SendAmigaGuideContextA (TagItem * attrs)
  112. {
  113.  return ::SendAmigaGuideContextA(this, attrs);
  114. }
  115. //----------------------------------------------------------------------------
  116. LONG AAmigaGuideContext::SetAmigaGuideAttrs (Tag tag1,  ...)
  117. {
  118.  return AAmigaGuideContext::SetAmigaGuideAttrsA((TagItem *) &tag1);
  119. }
  120. //----------------------------------------------------------------------------
  121. LONG AAmigaGuideContext::SetAmigaGuideAttrsA (TagItem * attrs)
  122. {
  123.  return ::SetAmigaGuideAttrsA(this, attrs);
  124. }
  125. //----------------------------------------------------------------------------
  126. LONG AAmigaGuideContext::SetAmigaGuideContext (unsigned long id, Tag tag1,  ...)
  127. {
  128.  return AAmigaGuideContext::SetAmigaGuideContextA(id, (TagItem *) &tag1);
  129. }
  130. //----------------------------------------------------------------------------
  131. LONG AAmigaGuideContext::SetAmigaGuideContextA (unsigned long id, TagItem * attrs)
  132. {
  133.  return ::SetAmigaGuideContextA(this, id, attrs);
  134. }
  135.  
  136. #endif
  137.